#include <cstdio>
#include <algorithm>

using namespace std;

struct Children {
    int a;     // 跳起来的高度
    int id;    // 编号
};

// 对小朋友跳起来的高度进行排序
bool cmp(Children a, Children b) {
    return a.a < b.a;
}

Children child[1005];
int  ans[1005];    // 摘到的气球数目

int  h[1005];      // 气球高度
bool used[1005];   // 标记该气球时候被摘

int main()
{
    int n, m;
    scanf("%d%d", &n, &m);
    for(int i = 0; i < n; i++) {
        scanf("%d", &child[i].a);
        child[i].id = i;
    }

    for(int i = 0; i < m; i++) {
        scanf("%d", &h[i]);
    }

    // 对小朋友起来的高度进行升序排序
    sort(child, child+n, cmp);

    // 开始摘气球
    for(int i = 0; i < n; i++) {
        for(int j = 0; j < m; j++) {
            if(!used[j] && h[j] <= child[i].a) {   // 气球存在且够的着
                ans[child[i].id]++;
                used[j] = true;
            }
        }
    }

    for(int i = 0; i < n; i++) {
        printf("%d\n", ans[i]);
    }

    return 0;
}